const path = require('path')
const jsonServer = require('json-server')       //这个要npm install
const server = jsonServer.create()

const router = require('./router')
const db = require('./db')()

const middlewares = jsonServer.defaults({   //就是这种写法并不用纠结
    static: path.join(__dirname, '../public')
})
server.use(middlewares)     //使用public目录
server.use(jsonServer.bodyParser)  // 使用请求体解析json中间件，就可以解析json了。想要什么方法要么引入，要不自身有这个方法

//设置响应数据格式
server.use((req , res, next) =>{
    const json = res.json.bind(res)
    res.success = (data) =>{
        return json({
            code:0,
            msg:'请求成功',
            data
        })
    }
    res.fail =  ( msg,code = -1, data ) =>{
        return json({
            code,
            msg,
            data
        })
    }
    next()
})

router(server)
const jsonRouter = jsonServer.router(db)
server.use('/api' , jsonRouter)
server.listen(8000,()=>{
    console.log('JSON SERVER is running at 8000')
})